<?xml version="1.0" encoding="utf-8" ?>
<CodeSnippets  xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
    <CodeSnippet Format="1.0.0">
        <Header>
            <Title>ObservableCollection property</Title>
            <Shortcut>ocprop</Shortcut>
            <Description>Code snippet for an observable collection that updates its source.</Description>
            <Author>Blake</Author>
            <SnippetTypes>
                <SnippetType>Expansion</SnippetType>
            </SnippetTypes>
        </Header>
        <Snippet>
            <Declarations>
                <Literal>
                    <ID>type</ID>
                    <ToolTip>Property type</ToolTip>
                    <Default>string</Default>
                </Literal>
                <Literal>
                    <ID>modelType</ID>
                    <ToolTip>Model type</ToolTip>
                    <Default>string</Default>
                </Literal>
                <Literal>
                    <ID>property</ID>
                    <ToolTip>Property name</ToolTip>
                    <Default>MyCollection</Default>
                </Literal>
                <Literal>
                    <ID>base</ID>
                    <ToolTip>Base field name</ToolTip>
                    <Default>baseList</Default>
                </Literal>
            </Declarations>
            <Code Language="csharp"><![CDATA[public ObservableCollection<$type$> $property$ {
                get 
				{
					if (_$property$ == null)
					{
						_$property$ = SetUpObservableCollection<$type$,$modelType$>($base$, (m) => { return new $type$(($modelType$)m); });
					}
					return _$property$; 
				}
            }
			private ObservableCollection<$type$> _$property$;
            $end$]]></Code>
        </Snippet>
    </CodeSnippet>
</CodeSnippets>